import numpy as np

step = 1
end = 32
start = 0
# arr_stride = 16
# arr_stride = 17
# arr_stride = 18
# arr_stride = 19
arr_stride = 24
bank_w = 32*4
# cur_id = 1 #0,15

np.set_printoptions(threshold=np.inf)
for cur_id in range(16):
    print(f"cur_id {cur_id}")
    map = np.zeros((32, 32))
    for id in range(start, end, step):
        idx = id*arr_stride + cur_id
        bank_layer = idx // bank_w
        tmp_bank_id = idx % bank_w
        bank_id = tmp_bank_id // 4
        # print(f"({bank_layer},{bank_id})", end=", ")
        map[bank_layer][bank_id] = 1
    print("")
    for id in range(32):
        if np.sum(map[:, id]) > 1:
            print(f"bank {id} conflict")
    # print(map)